iT邦幫忙

2023 iThome 鐵人賽

DAY 19
0

完成 App 後,就要準備打包與上架了。首先來看打包 Android App 的步驟:

  1. 在 gitignore 加上 *.keystore 否則會有資安問題

  2. 建立 keystore ,輸入以下指令後回答他問你的問題,之後會自動生成一個效期一萬天的 keystore 。其中一個問題會問你密碼,他會是等等要上傳的密碼:

sudo keytool -genkey -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
  1. 把 keystore 放到 android/app 裡

  2. 要把密碼存在本機的 gradle ,避免被 git 紀錄。先下載 gradle :

brew install gradle 

若未來有需要查 gradle home path ,指令為:

brew info gradle
  1. 輸入 cd ~/.gradle

  2. 輸入 ls 確認有沒有 gradle.properties 這個檔案

7a. 如果沒有,用 vi gradle.properties 創建。輸完指令後會進入 vim 編輯器,將下方的內容貼到裡頭:

MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=my-key-alias
MYAPP_UPLOAD_STORE_PASSWORD=**\*** (剛剛創建 keystore 他問你密碼的那串密碼)
MYAPP_UPLOAD_KEY_PASSWORD=**\*** (剛剛創建 keystore 他問你密碼的那串密碼)

貼好後先按 Esc 回到一般模式,然後按 : 進入命令模式,再按 :wq 存檔離開。如果你不熟悉如何操作 vim ,可參考這個網站教學

7b. 如果有,進入該檔案並將步驟七的四行內容貼進去

  1. 打開 android / app / build.gradle 並把 signingConfigs 加上這幾行:
signingConfigs {
  release {
    if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
      storeFile file(MYAPP_UPLOAD_STORE_FILE)
      storePassword MYAPP_UPLOAD_STORE_PASSWORD
      keyAlias MYAPP_UPLOAD_KEY_ALIAS
      keyPassword MYAPP_UPLOAD_KEY_PASSWORD
    }
  }
}
buildTypes {
  release {
    ...
    signingConfig signingConfigs.release
  }
}
  1. android / app / build.gradle 調 versionCode 和 versionName 。一開始設為 1 和 1.0 即可,之後若有更新並需要重新打包送審上架的話,記得調高變成 2 和 2.0

10a. 目前要上架 Google Play都必須使用 aab 檔。在終端機輸入:

cd android && ./gradlew bundleRelease 
而生成後的檔案,會放在 android / app / build / outputs / bundle / release / app-release.aab

10b. 若需生成 apk 的話,在終端機輸入:

cd android && ./gradlew assembleRelease 

生成後的檔案會放在 android / app / build / outputs / apk / release / app-release.apk

  1. 若需要測試 release 版 app ,輸入:
npx react-native run-android --variant=release

但要注意 development 和 production 的 app ,不能同時存在於模擬器或裝置中。若曾裝過其中一種,現在要跳到另一種,請先解安裝不需要的那種。

  1. 完成打包後接著就是上架了。要上架 Google Play 需要有開發者帳號,註冊費為 25 鎂。你可以在這裡申請,由於流程蠻簡單,且我是直接使用公司團隊帳號,相關申請流程就不贅述。

  2. 有帳號後登入 Google Play Console 後台,點選建立應用程式,填寫相關資料、上傳圖片等等。

  3. 在側欄測試 / 公開測試的分頁,可以上傳新的檔案與填寫版本資訊。送出後 Google 會開始審核,待審核通過才可以再進入後台上架。審核時間不一定,根據經驗大概是一天。


參考


上一篇
Day 27. 以 Notifee 與 React Native Firebase 實作遠端推播
下一篇
Day 29. 打包送審 iOS
系列文
即使明天老闆突然叫你用 React Native 也可以跟他說好沒問題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言